package com.flyqiu.common.sc.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * FlyQiu统计封装注解
 * 用于标记统计相关的字段，通过该注解可以方便地进行统计操作的封装
 *
 * @Retention(RetentionPolicy.RUNTIME) 表示该注解在运行时仍然有效，这样可以通过反射机制读取到该注解
 * @Target({ElementType.FIELD}) 表示该注解可以应用在字段上
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface FlyQiuStatisticalWrapper {
    /**
     * 定义统计操作的数组
     * 用于指定一个或多个统计操作
     *
     * @return FlyQiuStatistical[] 统计操作的数组
     */
    FlyQiuStatistical[] value();
}
